package cn.fl.project.transform;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.project.dto.PrjTransLogDTO;
import cn.fl.project.vo.PrjTransLogVO;

import java.util.ArrayList;
import java.util.List;

/**
* @Description: 项目转办记录表 转换器
* VO是客户端传递数据到服务端进行转换的数据
* VO转换数据变成DTO传递到服务端
* VO不能在服务端出现
*/
public class PrjTransLogVOTransform {


   /**
    * DTO 转  VO
    * @param dto PrjTransLogDTO
    * @return PrjTransLogVO
    */
   public static PrjTransLogVO toVO(PrjTransLogDTO dto) {
       PrjTransLogVO vo = null;
       if (dto != null) {
           vo = new PrjTransLogVO();
           vo.setId(dto.getId());
           vo.setPrjId(dto.getPrjId());//项目ID
           vo.setCstMgrId(dto.getCstMgrId());//转办人ID(原客户经理ID)
           vo.setCstMgrNm(dto.getCstMgrNm());//转办人名称(原客户经理名称)
           vo.setCstMgrOrgCd(dto.getCstMgrOrgCd());//转办人组织架构(原客户经理组织架构代码)
           vo.setNewCstMgrId(dto.getNewCstMgrId());//被转办人ID(新客户经理ID)
           vo.setNewCstMgrNm(dto.getNewCstMgrNm());//被转办人名称(新客户经理名称)
           vo.setNewCstMgrOrgCd(dto.getNewCstMgrOrgCd());//被转办人组织架构(新客户经理组织架构代码)
           vo.setTransRem(dto.getTransRem());//转办备注
           vo.setIsDel(dto.getIsDel());//是否删除（1：是，0：否）

           vo.setCrtTm(dto.getCrtTm());//创建时间
           vo.setCrtUsrId(dto.getCrtUsrId());//创建人
           vo.setMdfTm(dto.getMdfTm());//修改时间
           vo.setMdfUsrId(dto.getMdfUsrId());//修改人
           vo.setCstMgrRgnCd(dto.getCstMgrRgnCd());
           vo.setNewCstMgrRgnCd(dto.getNewCstMgrRgnCd());
       }
       return vo;
   }

   /**
    * VO 转 DTO
    * @param vo PrjTransLogVO
    * @return PrjTransLogDTO
    */
   public static PrjTransLogDTO toDTO(PrjTransLogVO vo) {
       PrjTransLogDTO dto = null;
       if (vo != null) {
           dto = new PrjTransLogDTO();
           dto.setId(vo.getId());
           dto.setPrjId(vo.getPrjId());//项目ID
           dto.setCstMgrId(vo.getCstMgrId());//转办人ID(原客户经理ID)
           dto.setCstMgrNm(vo.getCstMgrNm());//转办人名称(原客户经理名称)
           dto.setCstMgrOrgCd(vo.getCstMgrOrgCd());//转办人组织架构(原客户经理组织架构代码)
           dto.setNewCstMgrId(vo.getNewCstMgrId());//被转办人ID(新客户经理ID)
           dto.setNewCstMgrNm(vo.getNewCstMgrNm());//被转办人名称(新客户经理名称)
           dto.setNewCstMgrOrgCd(vo.getNewCstMgrOrgCd());//被转办人组织架构(新客户经理组织架构代码)
           dto.setTransRem(vo.getTransRem());//转办备注
           dto.setIsDel(vo.getIsDel());//是否删除（1：是，0：否）

           dto.setCrtTm(vo.getCrtTm());//创建时间
           dto.setCrtUsrId(vo.getCrtUsrId());//创建人
           dto.setMdfTm(vo.getMdfTm());//修改时间
           dto.setMdfUsrId(vo.getMdfUsrId());//修改人
           dto.setCstMgrRgnCd(vo.getCstMgrRgnCd());
           dto.setNewCstMgrRgnCd(vo.getNewCstMgrRgnCd());
       }
       return dto;
   }

   /**
    * DTO集合 转 VO集合
    * @param list List<PrjTransLog>
    * @return List<PrjTransLogDTO>
    */
   public static List<PrjTransLogVO> toVOList(List<PrjTransLogDTO> list) {
       List<PrjTransLogVO>  voList = new ArrayList<PrjTransLogVO>();
       if(CollectionUtils.isNotEmpty(list)){
           for (PrjTransLogDTO dto : list) {
               voList.add(toVO(dto));
           }
       }
       return voList;
   }

   /**
    *  VO集合 转 DTO集合
    * @param list List<PrjTransLogVO>
    * @return List<PrjTransLogDTO>
    */
   public static List<PrjTransLogDTO> toDTOList(List<PrjTransLogVO> list) {
       List<PrjTransLogDTO>  dtoList = new ArrayList<>();
       if(CollectionUtils.isNotEmpty(list)){
           for (PrjTransLogVO vo : list) {
               dtoList.add(toDTO(vo));
           }
       }
       return dtoList;
   }
}
